package com.guigu.qxl.controller;

import com.github.pagehelper.PageInfo;
import com.guigu.qxl.pojo.QDFile;
import com.guigu.qxl.pojo.PageVo;
import com.guigu.qxl.service.DFileService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;

@RestController
@RequestMapping("DFile")
public class DFileController {

    @Autowired
    DFileService dFileService;

    @RequestMapping("productRegister")
    public Map productRegister(QDFile dFile,
           @RequestParam("select1") String select1,
           @RequestParam("select2") String select2,
           @RequestParam("select3") String select3){
        Map map=new HashMap();
        map.put("code","-1");
        map.put("msg","登记失败");
        String [] arg1=select1.split("/");
        dFile.setFirstKindId(arg1[0]);
        dFile.setFirstKindName(arg1[1]);
        String [] arg2=select2.split("/");
        dFile.setSecondKindId(arg2[0]);
        dFile.setSecondKindName(arg2[1]);
        String [] arg3=select3.split("/");
        dFile.setThirdKindId(arg3[0]);
        dFile.setThirdKindName(arg3[1]);
        if(dFile.getProductClass().equals("D001-1")){
            dFile.setListPrice(dFile.getCostPrice()*5);
        }else if(dFile.getProductClass().equals("D001-2")){
            dFile.setListPrice(dFile.getCostPrice()*4);
        }else if(dFile.getProductClass().equals("D001-3")){
            dFile.setListPrice(dFile.getCostPrice()*3);
        }
        dFile.setRealCostPrice(dFile.getListPrice()/2);
        if(dFileService.productRegister(dFile)){
            map.put("code","1");
            map.put("msg","登记成功");
        }
        return map;
    }
    @RequestMapping("productRename")
    public Map productRename(QDFile dFile){
        Map map=new HashMap();
        map.put("code","1");
        map.put("msg","可以使用");
        if(dFileService.productRename(dFile)){
            map.put("code","-1");
            map.put("msg","此产品名已被占用");
        }
        return map;
    }
    @GetMapping("pageS0010DFile")
    public PageVo<QDFile> pageS0010DFile(Integer pageNum, Integer pageSize){
        PageInfo<QDFile> pageInfo=dFileService.pageS0010DFile(pageNum,pageSize);
        PageVo pp=new PageVo();
        pp.setTotal(Integer.parseInt(pageInfo.getTotal()+""));
        pp.setRows(pageInfo.getList());
        return pp;
    }
    @GetMapping("pageS0011DFile")
    public PageVo<QDFile> pageS0011DFile(Integer pageNum, Integer pageSize){
        PageInfo<QDFile> pageInfo=dFileService.pageS0011DFile(pageNum,pageSize);
        PageVo pp=new PageVo();
        pp.setTotal(Integer.parseInt(pageInfo.getTotal()+""));
        pp.setRows(pageInfo.getList());
        return pp;
    }
    @GetMapping("pageC0010DFile")
    public PageVo<QDFile> pageC0010DFile(Integer pageNum, Integer pageSize){
        PageInfo<QDFile> pageInfo=dFileService.pageC0010DFile(pageNum,pageSize);
        PageVo pp=new PageVo();
        pp.setTotal(Integer.parseInt(pageInfo.getTotal()+""));
        pp.setRows(pageInfo.getList());
        return pp;
    }
    @GetMapping("pageC0011DFile")
    public PageVo<QDFile> pageC0011DFile(Integer pageNum, Integer pageSize){
        PageInfo<QDFile> pageInfo=dFileService.pageC0011DFile(pageNum,pageSize);
        PageVo pp=new PageVo();
        pp.setTotal(Integer.parseInt(pageInfo.getTotal()+""));
        pp.setRows(pageInfo.getList());
        return pp;
    }
    @GetMapping("pageC0010DFileReal")
    public PageVo<QDFile> pageC0010DFileReal(Integer pageNum, Integer pageSize){
        PageInfo<QDFile> pageInfo=dFileService.pageC0010DFileReal(pageNum,pageSize);
        PageVo pp=new PageVo();
        pp.setTotal(Integer.parseInt(pageInfo.getTotal()+""));
        pp.setRows(pageInfo.getList());
        return pp;
    }
    @GetMapping("pageY0011DFile")
    public PageVo<QDFile> pageY0011DFile(Integer pageNum, Integer pageSize){
        PageInfo<QDFile> pageInfo=dFileService.pageY0011DFile(pageNum,pageSize);
        PageVo pp=new PageVo();
        pp.setTotal(Integer.parseInt(pageInfo.getTotal()+""));
        pp.setRows(pageInfo.getList());
        return pp;
    }
    @GetMapping("pageY0012DFile")
    public PageVo<QDFile> pageY0012DFile(Integer pageNum, Integer pageSize){
        PageInfo<QDFile> pageInfo=dFileService.pageY0012DFile(pageNum,pageSize);
        PageVo pp=new PageVo();
        pp.setTotal(Integer.parseInt(pageInfo.getTotal()+""));
        pp.setRows(pageInfo.getList());
        return pp;
    }
    @GetMapping("pageS0011C0010Y0011W0011G0010DFile")
    public PageVo<QDFile> pageS0011C0010Y0011W0011G0010DFile(Integer pageNum, Integer pageSize){
        PageInfo<QDFile> pageInfo=dFileService.pageS0011C0010Y0011W0011G0010DFile(pageNum,pageSize);
        PageVo pp=new PageVo();
        pp.setTotal(Integer.parseInt(pageInfo.getTotal()+""));
        pp.setRows(pageInfo.getList());
        return pp;
    }
    @RequestMapping("showDFileById")
    public QDFile showDFileById(QDFile dFile){
        return dFileService.showDFileById(dFile);
    }
    @RequestMapping("designFileVheckOk")
    public Map designFileVheckOk(QDFile dFile){
        Map map=new HashMap();
        map.put("code","-1");
        map.put("msg","上传失败");
        if(dFileService.designFileVheckOk(dFile)){
            map.put("code","1");
            map.put("msg","上传成功");
        }
        return map;
    }
    @RequestMapping("designFileUpdate")
    public Map designFileUpdate(QDFile dFile,
                                @RequestParam("select1") String select1,
                                @RequestParam("select2") String select2,
                                @RequestParam("select3") String select3){
        Map map=new HashMap();
        map.put("code","-1");
        map.put("msg","变更失败");
        String [] arg1=select1.split("/");
        dFile.setFirstKindId(arg1[0]);
        dFile.setFirstKindName(arg1[1]);
        String [] arg2=select2.split("/");
        dFile.setSecondKindId(arg2[0]);
        dFile.setSecondKindName(arg2[1]);
        String [] arg3=select3.split("/");
        dFile.setThirdKindId(arg3[0]);
        dFile.setThirdKindName(arg3[1]);
        if(dFileService.designFileUpdate(dFile)){
            map.put("code","1");
            map.put("msg","变更成功");
        }
        return map;
    }
    @RequestMapping("designFileUpdateDelete")
    public Map designFileUpdateDelete(QDFile dFile){
        Map map=new HashMap();
        map.put("code","-1");
        map.put("msg","删除失败");
        if(dFileService.designFileUpdateDelete(dFile)){
            map.put("code","1");
            map.put("msg","删除成功");
        }
        return map;
    }
    @RequestMapping("designFileUpdateRecovery")
    public Map designFileUpdateRecovery(QDFile dFile){
        Map map=new HashMap();
        map.put("code","-1");
        map.put("msg","恢复失败");
        if(dFileService.designFileUpdateRecovery(dFile)){
            map.put("code","1");
            map.put("msg","恢复成功");
        }
        return map;
    }
    @RequestMapping("designFileRealDelete")
    public Map designFileRealDelete(QDFile dFile){
        Map map=new HashMap();
        map.put("code","-1");
        map.put("msg","永久删除失败");
        if(dFileService.designFileRealDelete(dFile)){
            map.put("code","1");
            map.put("msg","永久删除成功");
        }
        return map;
    }
}
